package com.ucode.model.cgms.convert;

import com.ucode.model.cgms.CgmsCompanionComment;
import com.ucode.model.cgms.form.CgmsCompanionCommentCreateForm;
import com.ucode.model.cgms.vo.CgmsCompanionCommentVO;
import com.ucode.tool.base.Paginator;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 陪玩评论对象转换器
 * 使用MapStruct进行对象映射转换
 * 
 * @Author: system
 * @Date: 2025/01/15 10:00
 * @Version: 1.0
 */
@Mapper
public interface CgmsCompanionCommentConvert  {

    CgmsCompanionCommentConvert INSTANCE = Mappers.getMapper(CgmsCompanionCommentConvert.class);

    /**
     * 实体转VO
     * 
     * @param comment 评论实体
     * @return 评论VO
     */
    CgmsCompanionCommentVO convert(CgmsCompanionComment comment);

    /**
     * 实体列表转VO列表
     * 
     * @param commentList 评论实体列表
     * @return 评论VO列表
     */
    List<CgmsCompanionCommentVO> convertList(List<CgmsCompanionComment> commentList);

    /**
     * 分页实体转分页VO
     * 
     * @param page 分页评论实体
     * @return 分页评论VO
     */
    Paginator<CgmsCompanionCommentVO> convertPage(Paginator<CgmsCompanionComment> page);

    /**
     * 创建表单转实体
     * 
     * @param form 创建表单
     * @return 评论实体
     */
    CgmsCompanionComment convert(CgmsCompanionCommentCreateForm form);
} 